{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "d71407ad",
   "metadata": {},
   "source": [
    "------------\n",
    "* 2022/10/10/week 08\n",
    "* Python学习记录\n",
    "* 记录人：wu-huichun\n",
    "-----------"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3fac17dd",
   "metadata": {},
   "source": [
    "# 本周知识点"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0431be23",
   "metadata": {},
   "source": [
    "> 1.有序的数据结构-字符串"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "319a2619",
   "metadata": {},
   "source": [
    ">> 1.1字符串的基本概念（回顾）\n",
    "\n",
    ">>> 1.Single quotes: 'allows embedded \"double\" quotes'\n",
    "\n",
    ">>> 2.Double quotes: \"allows embedded 'single' quotes\"\n",
    "\n",
    ">>> 3.Triple quoted: '''Three single quotes''', \"\"\"Three double quotes\"\"\"\n",
    "\n",
    ">> 1.2字符串的性质和方法\n",
    "\n",
    "> 2.有序的数据结构-列表\n",
    "# 1. 字符串的性质和方法\n",
    "* 字符串的性质\n",
    "\n",
    "> 1.字符串的有序性\n",
    "\n",
    "> 2.字符串是有长度的\n",
    ">> 使用len()检查字符串的长度\n",
    "* 字符串的基础方法（运算法则）\n",
    "\n",
    "> 1.字符串的取值:str[index]\n",
    "\n",
    "> 2.字符串的切片：str[start,stop],stop取不到\n",
    "\n",
    "> 3.字符串的拼接：+\n",
    "\n",
    "> 4.in 检查成员是否存在\n",
    "* 字符串的一般方法（function/Methods 函数/方法）\n",
    "> isdigit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "1664abc4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'spam eggs'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'spam eggs' "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7f766d9f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'str'>\n"
     ]
    }
   ],
   "source": [
    "print(type('spam eggs' ))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "0887c1c1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'str'>\n"
     ]
    }
   ],
   "source": [
    "print(type(\"spam eggs\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "dd229040",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"doesn't\""
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"doesn't\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "e61a7867",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"doesn't\""
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'doesn\\'t'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "06beb513",
   "metadata": {},
   "source": [
    "### 1.1字符串 [关于字符串的基本内容](https://docs.python.org/3/tutorial/introduction.html#strings)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "d597b917",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 三引号：保留字符串信息的 格式信息，保留完整的数据信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "501ad4b9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"doesn't\""
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'''doesn't'''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "6fc93f11",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "EOL while scanning string literal (3945139647.py, line 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  Input \u001b[1;32mIn [7]\u001b[1;36m\u001b[0m\n\u001b[1;33m    \"Triple quoted strings may span multiple lines - all associated whitespace will be included in the string literal.\u001b[0m\n\u001b[1;37m                                                                                                                      ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m EOL while scanning string literal\n"
     ]
    }
   ],
   "source": [
    "\"Triple quoted strings may span multiple lines - all associated whitespace will be included in the string literal.\n",
    "\n",
    "String literals that are part of a single expression and have only whitespace between them will be implicitly converted to a single string literal. \""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "35def595",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Triple quoted strings may span multiple lines - all associated whitespace will be included in the string literal.\n",
      "\n",
      "String literals that are part of a single expression and have only whitespace between them will be implicitly converted to a single string literal. \n"
     ]
    }
   ],
   "source": [
    "print('''Triple quoted strings may span multiple lines - all associated whitespace will be included in the string literal.\n",
    "\n",
    "String literals that are part of a single expression and have only whitespace between them will be implicitly converted to a single string literal. ''')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "e3f2136d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Usage: thingy [OPTIONS]\n",
      "     -h                        Display this usage message\n",
      "     -H hostname               Hostname to connect to\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(\"\"\"\\\n",
    "Usage: thingy [OPTIONS]\n",
    "     -h                        Display this usage message\n",
    "     -H hostname               Hostname to connect to\n",
    "\"\"\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "a9d81951",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<input type=\"checkbox\" id=\"menuToggler\" class=\"toggler__input\" aria-controls=\"navigation\" aria-pressed=\"false\" aria-expanded=\"false\" role=\"button\" aria-label=\"Menu\">\n"
     ]
    }
   ],
   "source": [
    "print('''<input type=\"checkbox\" id=\"menuToggler\" class=\"toggler__input\" aria-controls=\"navigation\" aria-pressed=\"false\" aria-expanded=\"false\" role=\"button\" aria-label=\"Menu\">''')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a6f3e09a",
   "metadata": {},
   "source": [
    "### 1.2 [关于字符串的方法及函数](https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str)\n",
    "\n",
    "> 1.字符串是可以拼接的（字符串的运算）,用 + 进行字符串之间的拼接\n",
    "\n",
    "> 2.字符串是有顺序的,从第一个字符开始，从0依次往后；有长度,可以用len()检查字符串的长度\n",
    "\n",
    "> 3.字符串的取值：\n",
    ">> (1)取单个值——从左往右（正数，第一个值是0），从右往左（负数，第一个值是-1）\n",
    "\n",
    ">> (2)取多个值——切片的方法，两个值作为取值的区间\n",
    "\n",
    "> 4.字符串的方法及函数\n",
    "\n",
    ">> (1) in 查询成员是否存在\n",
    "\n",
    ">> (2) str.count() 查询数量\n",
    "\n",
    ">> (3) str.isdigit()判断字符串是否是数字"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "9c650ba4",
   "metadata": {},
   "outputs": [],
   "source": [
    "nev_name = \"小明\",\"小红\",\"张杰\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "9b0d8bbe",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "广州南方学院团委欢迎小明\n",
      "广州南方学院团委欢迎小红\n",
      "广州南方学院团委欢迎张杰\n"
     ]
    }
   ],
   "source": [
    "for i in nev_name:\n",
    "    print(\"广州南方学院团委欢迎\"+i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "208b2418",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广州南方学院团委欢迎小明'"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"广州南方学院团委欢迎\"+\"小明\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "ab689730",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广州南方学院团委欢迎小明'"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text = '广州南方学院团委欢迎小明' # values  0123456(index)\n",
    "text"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "fad666f1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广'"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "458b4218",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'州'"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "ca1cda25",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "12"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(text)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "36ac7a8e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'团委'"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text[6]+text[7]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "4ab9f4ef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'团委'"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 使用 切片 的方法进行多个值取值\n",
    "text[6:8]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "eb5fc723",
   "metadata": {},
   "source": [
    "* in 查询成员"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "2d2e2ca5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'广州' in text"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "d750c969",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'北京' in text"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f3c31a60",
   "metadata": {},
   "source": [
    "* str.count() 查询数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "a9d67266",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text.count('广州')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "340b340a",
   "metadata": {},
   "source": [
    "* str.isdigit()判断字符串是否是数字"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "17974104",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "19 <class 'int'>\n",
      "19 <class 'str'>\n"
     ]
    }
   ],
   "source": [
    "age_li = 19\n",
    "age_wang = '19'\n",
    "print(age_li,type(age_li))\n",
    "print(age_wang,type(age_wang))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "0b55e4fb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "age_wang.isdigit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "a5b04cc1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "text.isdigit()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b47fc568",
   "metadata": {},
   "source": [
    "# 2. 有序的数据结构——列表（list）\n",
    "\n",
    "* Python knows a number of compound data types, used to group together other values. The most versatile is the list, which can be written as a list of comma-separated values (items) between square brackets. Lists might contain items of different types, but usually the items all have the same type.\n",
    "\n",
    "> 1.列表的基本运算法则（参考：有序的数据结构的运算法则列表）\n",
    "\n",
    "> 2.列表的一般方法（要求：全部掌握，并且做总结在课后笔记中）"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3276dc4a",
   "metadata": {},
   "source": [
    "### 2.1 列表的基本运算法则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9dee5c0b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 思考：假设有这样一个场景，我要录入/存放一个班的同学的信息（名单信息），用字符串存放是否可行？如何取值呢"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "09768156",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 字符串存放\n",
    "网二_name = \"李华,小明,李晓华,小红\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "db0889d6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "12"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(网二_name)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "26a910c5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'李华'"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 字符串取值，比较麻烦\n",
    "网二_name[0:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "b159c257",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'小明'"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "网二_name[3:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "47f9da7d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'李晓华'"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "网二_name[6:9]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b8078e4",
   "metadata": {},
   "source": [
    "* 对比字符串和列表\n",
    "\n",
    "> 1.字符串是按照字符进行数据取值\n",
    "\n",
    "> 2.列表是按照元素进行数据取值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "9beaa1a8",
   "metadata": {},
   "outputs": [],
   "source": [
    "网二_name_list = [\"李华\",\"小明\",\"李晓华\",\"小红\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "e4c558b4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(网二_name_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "e583fd97",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'李华'"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "网二_name_list[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "1ab91679",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['李晓华', '小红']"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "网二_name_list[-2:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "cdbc10c6",
   "metadata": {},
   "outputs": [],
   "source": [
    "网二_age_list = [19,18,19,20]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "8f4f06cd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "19"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "网二_age_list[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "52029dc4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[19, 18, 19, 20]"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "网二_age_list[:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "f239c0ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[19, 18, 19, 20, 19, 18, 19, 20]"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "网二_age_list*2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "053455f6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "网二_age_list.count(19)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "158b60c4",
   "metadata": {},
   "source": [
    "### 2.2 [列表的方法](https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range)\n",
    "\n",
    "> 1.增加\n",
    "\n",
    "> 2.删除\n",
    "\n",
    "> 3.修改\n",
    "\n",
    "> 4.查询  in，count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "1353196c",
   "metadata": {},
   "outputs": [],
   "source": [
    "names = [\"Mike\",\"Mary\",\"Jan\",\"Jack\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "345ee127",
   "metadata": {},
   "source": [
    "* 学习方法  \n",
    "\n",
    "> 1.listnames.Tab键 查看所有方法名称\n",
    "\n",
    "> 2.help (listname.function) 查看其中一个方法的具体操作内容\n",
    "\n",
    "> 课后练习（做表格来总结列表的方法）：\n",
    "\n",
    "\n",
    "| Syntax      | Description |  example  |  备注  |\n",
    "| ----------- | ----------- | -----------  | -----------  |\n",
    "| append()     | 增加元素，增加在列表的末尾    |    |   |\n",
    "| Paragraph   | Text        |    |    |\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "6bf21ee5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function append:\n",
      "\n",
      "append(object, /) method of builtins.list instance\n",
      "    Append object to the end of the list.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(names.append)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "53ff9ac4",
   "metadata": {},
   "outputs": [],
   "source": [
    "names.append(\"huichun\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "2ffc7e4d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Mike', 'Mary', 'Jan', 'Jack', 'huichun']"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "43fab5fc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function insert:\n",
      "\n",
      "insert(index, object, /) method of builtins.list instance\n",
      "    Insert object before index.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(names.insert)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "b72f7e91",
   "metadata": {},
   "outputs": [],
   "source": [
    "names.insert(1,\"Alex\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "52ae6efd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Mike', 'Alex', 'Mary', 'Jan', 'Jack', 'huichun']"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c8ef46a1",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
